Skip to content

Wait for lint/build before running E2E + Run snapshot check outside E2E - #8310

Merged
isaacroldan merged 1 commit into
mainfrom
isaac/e2e-gate-and-commands-snapshot
Aug 12, 2026
Merged

isaacroldan merged 1 commit into
mainfrom
isaac/e2e-gate-and-commands-snapshot

Conversation

@isaacroldan

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

Analysis of 90 days of failed E2E shard logs showed ~12% of classified failures were not E2E problems at all: 196 were commands --tree snapshot drift and 112 were TypeScript build breaks that failed the E2E job's own build step. Both surfaced as "E2E failure", polluting the signal of an already-noisy suite.

WHAT is this pull request doing?

  1. e2e-tests now needs: [type-check, bundle]. A PR that doesn't compile never reaches Playwright — the failure stays attributed to the build lane, and the E2E shards (plus their cleanup jobs) are skipped instead of failing.
  2. The commands --tree snapshot check leaves the Playwright suite. It's now bin/check-commands-snapshot.js — a plain node script that runs the built CLI and diffs stdout against the committed snapshot — executed in the oclif-checks job next to the other regenerated-artifact checks (manifests, readme, docs). No browser, no store, no test org, and it fails fast with the same regeneration instructions as before plus a proper diff.

The snapshot file (packages/e2e/data/snapshots/commands.txt) and pnpm test:regenerate-snapshots are unchanged.

How to test your changes?

pnpm build
node bin/check-commands-snapshot.js   # passes
echo "  fake" >> packages/e2e/data/snapshots/commands.txt
node bin/check-commands-snapshot.js   # fails with instructions + diff
git checkout packages/e2e/data/snapshots/commands.txt

Measuring impact

  • n/a — CI-only change, no user-facing impact

🤖 Generated with Claude Code

…ight

Two changes that stop non-E2E failures from surfacing as E2E failures:

The E2E job now needs the type-check and bundle jobs, so a PR that does
not compile never reaches Playwright. Previously a TypeScript break
failed the E2E job's own build step and was counted as E2E flake.

The `commands --tree` snapshot check moves from the Playwright suite to
a plain node script (bin/check-commands-snapshot.js) that runs in the
oclif-checks job next to the other regenerated-artifact checks. It needs
no browser, no store, and no test org — it only runs the built CLI and
diffs stdout against the committed snapshot. The snapshot file and the
regenerate script stay where they were, so `pnpm test:regenerate-snapshots`
works unchanged.

Together these were ~12% of classified E2E-job failures over the last
90 days (196 snapshot + 112 build breaks), none of them E2E problems.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@isaacroldan
isaacroldan requested a review from a team as a code owner August 11, 2026 13:54
@github-actions github-actions Bot added the no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. label Aug 11, 2026
@isaacroldan isaacroldan changed the title Gate E2E on build/type-check and move commands snapshot out of Playwright Move commands snapshot check from E2E to build lane Aug 11, 2026
@isaacroldan isaacroldan changed the title Move commands snapshot check from E2E to build lane Wait for lint/build before running E2E + Run snapshot check outside E2E Aug 11, 2026
@isaacroldan
isaacroldan added this pull request to the merge queue Aug 12, 2026
Merged via the queue into main with commit 87a3ae1 Aug 12, 2026
52 of 54 checks passed
@isaacroldan
isaacroldan deleted the isaac/e2e-gate-and-commands-snapshot branch August 12, 2026 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants